<?php
//------------------------------------------------------------ Contraintes d'accès de la page

	// on vérifie que cette page est appelée à partir de l'index et que l'utilisateur a le droit de suppression
	if(isset($_SESSION) && ($GLOBALS['USER']['level'] >= 5 || $GLOBALS['USER']['admin'])){
	
		// l'identifiant de la donnée à supprimer est indiqué par un entier
		if(isset($_GET['id']) && numericInt($_GET['id'])){

?>
<?php
//------------------------------------------------------------ Suppression des données

/********************************* Règles :

	- id doit désigner un seul prêt
	- Le prêt doit exister dans la BDD

*****************************************/

	$statut = array(); // indique le statut du traitement du formulaire (echec ou succes) - tableau contenant les messages à afficher
	$erreur = false; // indique si une erreur a été rencontrée lors du traitement

	//---------------------------------- Contrôle des données ----------------------------------
		
	$nb_prets = valueExists((int)$_GET['id'], "CODEPRETSORTANT", "pret_sortant", $connexion);
	
	if($nb_prets == 0){ // le prêt n'existe pas
		$statut[] = "Le prêt indiqué n'existe pas";
		$erreur = true;
	}
	
	//---------------------------------- Suppression du prêt ----------------------------------
	
	if(!$erreur){ // aucune erreur n'a été rencontrée jusqu'ici
			
		$query_recuperation_pret = "SELECT e.CODEENTREE, s.CODESORTIE ";
		$query_recuperation_pret .= "FROM pret_sortant p ";
		$query_recuperation_pret .= "LEFT JOIN entree e ON p.CODEPRETSORTANT = e.CODEPRETSORTANT ";
		$query_recuperation_pret .= "LEFT JOIN sortie s ON p.CODEPRETSORTANT = s.CODEPRETSORTANT ";
		$query_recuperation_pret .= "WHERE p.CODEPRETSORTANT = ".$_GET['id']." ";
		
		$result_recuperation_pret = mysql_query($query_recuperation_pret, $connexion) or logError("RECUPERATION PRET SORTANT-".$query_recuperation_pret."-".mysql_error());
	
		$tab_recuperation_pret = mysql_fetch_assoc($result_recuperation_pret);
		
		if (!is_null($tab_recuperation_pret['CODEENTREE'])){
			// Suppression des informations de la table ENTREE
			$query_update_entree = "UPDATE entree SET CODEPRETSORTANT = NULL WHERE CODEENTREE = ".$tab_recuperation_pret['CODEENTREE'];
			$result_update_entree = mysql_query($query_update_entree, $connexion) or logError("SUPPRESSION LIEN PRETSORTANT ENTREE-".$query_update_entree."-".mysql_error());
			
		}
		
		if (!is_null($tab_recuperation_pret['CODESORTIE'])){
			// Suppression des informations de la table SORTIE
			$query_update_sortie = "UPDATE sortie SET CODEPRETSORTANT = NULL WHERE CODESORTIE = ".$tab_recuperation_pret['CODESORTIE'];
			$result_update_sortie = mysql_query($query_update_sortie, $connexion) or logError("SUPPRESSION LIEN PRETSORTANT SORTIE-".$query_update_sortie."-".mysql_error());
		}
		
		// Suppression des informations de la table PRET_SORTANT
		$query_suppression_pret = "DELETE FROM pret_sortant WHERE CODEPRETSORTANT = ".$_GET['id'];
		$result_suppression_pret = mysql_query($query_suppression_pret, $connexion) or logError("SUPPRESSION PRET SORTANT-".$query_suppression_pret."-".mysql_error());
		if($result_suppression_pret === false){
			$statut[] = "Erreur critique lors de la suppression du prêt";
			$erreur = true;
		}
		
		
		// Suppression des informations de la table SORTIE
		$query_suppression_sortie = "DELETE FROM sortie WHERE CODEPRETSORTANT = ".$_GET['id'];
		$result_suppression_sortie = mysql_query($query_suppression_sortie, $connexion) or logError("SUPPRESSION SORTIE-".$query_suppression_sortie."-".mysql_error());
		if($result_suppression_sortie === false){
			$statut[] = "Erreur critique lors de la suppression de la sortie";
			$erreur = true;
		}
		
		// Suppression des informations de la table ENTREE
		$query_suppression_entree = "DELETE FROM entree WHERE CODEPRETSORTANT = ".$_GET['id'];
		$result_suppression_entree = mysql_query($query_suppression_entree, $connexion) or logError("SUPPRESSION ENTREE-".$query_suppression_entree."-".mysql_error());
		if($result_suppression_entree === false){
			$statut[] = "Erreur critique lors de la suppression de l'entrée";
			$erreur = true;
		}
		
		if(!$erreur){
			$statut[] = "Le prêt a été supprimé - redirection dans 2 sec...";
			logAction("PRET SORTANT (id: ".$_GET['id'].") SUPPRIME par ".capitalise($GLOBALS['USER']['prenom'])." ".mb_strtoupper($GLOBALS['USER']['nom'])." (".$GLOBALS['USER']['login'].")");
		}
		
	}

?>
<?php
//------------------------------------------------------------ Affichage du statut
	
	if($erreur){
		boutonRetour("index.php?p=gestion/pretsortant_gere"); // appel à la fonction boutonRetour() définie dans fonctions.php
		afficherStatut($statut, 3); // appel à la fonction afficherStatut() définie dans fonctions.php
	}else{
		afficherStatut($statut, 1); // appel à la fonction afficherStatut() définie dans fonctions.php
		redirection("gestion/pretsortant_gere", 2);
	}

?>
<?php
	if($erreur){
?>
<div class="information">
	<div class="titre">Information</div>
	<h4>Erreurs de suppression :</h4>
	<p>
		Si la ressource à supprimer est liée à d'autres éléments, vous ne pourrez pas la supprimer.<br />
		Si vous souhaitez tout de même la supprimer, il vous faudra préalablement supprimer les éléments auxquels elle est liée.
	</p>
</div>
<?php
	}
?>
<?php
//------------------------------------------------------------ Accès refusé à la page

		}else{
			afficherStatut("Le prêt n'est pas ou mal indiqué", 3); // appel à la fonction afficherStatut() définie dans fonctions.php
		}

	}else{
		if(isset($_SESSION)){
			if(!isset($_SESSION['user_id'])){ // si l'utilisateur n'est pas connecté
				include("pages/connexion.php");
			}else{ // si l'utilisateur est connecté et qu'il n'a pas accès à la page, c'est qu'il n'a pas le droit d'utilisation nécessaire
				include("pages/401.htm");
			}
		}
	}

?>